# -*- coding: utf-8 -*-
__author__ = 'ooo'
__date__ = '2017/1/23 14:14'


# 计算时间跨度
import pytz,datetime
tz = pytz.timezone('utc') #Asia/Shanghai


def CheckTimeSpan(xtime):
    ntime = datetime.datetime.now() #.now(tz)  看设置中是否使用了utc=True时间
    delta = ntime- xtime  #同时区时间才能相减

    if delta.days >= 365:
        return '%d年前' % (delta.days / 365)
    elif delta.days >= 30:
        return '%d个月前' % (delta.days / 30)
    elif delta.days > 0:
        return '%d天前' % delta.days
    elif delta.seconds < 60:
        return "%d秒前" % delta.seconds
    elif delta.seconds < 60*60:
        return "%d分钟前" % (delta.seconds / 60)
    else:
        return "%d小时前" % (delta.seconds / 60 / 60)


# 计算间隔时间 7天前 30日前 本周第1天 本月第一天
# 用于 7日内 30日内 本周内  本月内 的信息统计 使用__gte=
# datetime > date
def date_ago(flag='week'):
    days = ''
    if flag == 'today':
        days = 0
    elif flag == 'week':
        days = datetime.date.today().isoweekday() - 1
    elif flag == 'month':
        days = datetime.date.today().day - 1
        pass
    elif flag == '7':
        days = 7
    elif flag == '30':
        days = 30
    else:
        print('error:无效的时间间隔')
        return None
    date_ago = datetime.date.today() - datetime.timedelta(days=days)
    return date_ago